package com.loop.homework;



import java.util.Random;

public class Demo1 {
    public static void main(String[] args) {
        randomName();
    }

    /**
     * 第一题
     * 定义重载方法, 方法功能: 将参数数据类型转换成字符串类型
     * toString(int i)
     * toString(double d)
     * toString(char ch)
     * @param
     * @return
     */
    public static String toString(int i){
        return i+"";
    }
    public static String toString(double d){
        return d+"";
    }
    public static String toString(char ch){
        return ch+"";
    }

    /**
     * 第二题:
     * 定义出一个char类型数组,
     * 数组大小为5, 使用动态初始化的方式,
     * 给数组元素赋值 ‘a’,’b’,’c’,’d’,’e’ , 然后依次将数组中的元素获取到
     */
    public static void getCharArr(){
        char[] chars = new char[5];
        char ch='a';
        for (int i = 0; i < chars.length ; i++) {
            chars[i] = ch;
            ch++;
            System.out.println(chars[i]);
        }
    }

    /**
     * 第三题 : 一张纸,厚度为0.1米, 珠穆朗玛峰的高度为8848米,
     * 请问纸折叠多少次可以达到或者超过珠穆朗玛峰的高度
     * @return
     */
    public static int times(){
        int time = 0;
        double innitPaper = 0.1;
        double qomolangma = 8848;
        while(true){
            innitPaper *= 2;
            time++;
            if (innitPaper >= qomolangma) {
                break;
            }
        }
        return time;
    }

    /**
     * 第四题:
     * 定义数组[95, 92, 75, 56, 98, 71, 80, 58, 91, 91]
     * 定义getAvg方法, 获取一个数组中的平均数, 并统计高于平均分的分数有多少个
     * @return
     */
    public static int getAvg(){
        int[] arr={95, 92, 75, 56, 98, 71, 80, 58, 91, 91};
        //用于记录数组所有的数字和
        int sum = 0;
        int count=0;
        for (int i = 0; i <arr.length ; i++) {
            sum += arr[i];
        }
        //求得平均值 总和/数组个数
        double avg = sum/arr.length;
        for (int i = 0; i < arr.length; i++) {
            //判断大于平均数的值
            if (arr[i] > avg){
                count++;
                System.out.println(arr[i]);
            }
        }
        return count;
    }


    /**
     *  随机点名器，它具备以下3个内容：
     *  1. 自己定义10个学生的名字,并将同学姓名存储到数组中
     *  2. 将每位学生姓名打印在控制台上
     *  3. 在10人中,随机点名某一个同学,将被点名同学姓名打印到控制台上
     */
    public static void randomName(){
        Random random = new Random();
        String[] names = new String[10];
        char a = '理';
        for (int i = 0; i < 10; i++) {
            names[i] = "张"+ a;
            System.out.print("将被点名的同学姓名有：");
            System.out.println(names[i]);
            a++;
        }
        int target = random.nextInt(10);
        System.out.println(names[target]+"被点名了");
    }
}
